package com;

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface IBattleShipServer extends Remote 
{
	public void StartServer() throws RemoteException;
	
	public boolean AccountFree() throws RemoteException;
	
	public int Register() throws RemoteException;
	
	public void ExitGame(int ID) throws RemoteException;
	
	public int GameFiledLength() throws RemoteException;
	
	public int MaxShipCount() throws RemoteException;
	
	public int NextShipLength(int ID) throws RemoteException;
	
	public boolean AllowedToSetAnotherShip(int ID) throws RemoteException;
	
	public boolean SetShipAtKoord(int x, int y, int length, int orientation, int ID) throws RemoteException;
	
	public boolean IsItMyMove(int ID) throws RemoteException;
	
	public boolean AgressEnemy(int x, int y, int ID) throws RemoteException;
	
	public void StopServer() throws RemoteException;
	
	public boolean ShipSunken(int x, int y, int ID) throws RemoteException;
	
	public boolean PlayerReady() throws RemoteException;
	
	public boolean EnemyGameOver(int ID) throws RemoteException;
	
	public boolean GameOver(int ID) throws RemoteException;
	
	public int StateOfGameField(int x, int y, int ID) throws RemoteException;
	
	public int StateOfEnemyGameField(int x, int y, int ID) throws RemoteException;
}
